<?php

/**
 * sfGuardUser form.
 *
 * @package    cronos-doctrine
 * @subpackage form
 * @author     Your name here
 * @version    SVN: $Id: sfDoctrinePluginFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class sfGuardUserForm extends PluginsfGuardUserForm
{
  public function configure()
  {

      $this->removeField();


      $this->widgetSchema['email_address']->setLabel('Direccion de Correo');

      $this->validatorSchema['email_address'] = new sfValidatorAnd(array(
        $this->validatorSchema['email_address'],
        new sfValidatorEmail()
        
      ));

      $this->widgetSchema ['username'] = new sfWidgetFormInputText (array(),array('autocomplete'=>'off'));
      $this->widgetSchema ['password'] = new sfWidgetFormInputPassword (array(),array('autocomplete'=>'off'));
      $this->widgetSchema ['password2'] = new sfWidgetFormInputPassword (array(),array('autocomplete'=>'off'));

      $this->validatorSchema->setPostValidator(new sfValidatorAnd(array(
        new sfValidatorSchemaCompare('password', sfValidatorSchemaCompare::EQUAL, 'password2', array(),
        array('invalid' => 'Las contraseñas deden ser iguales')),
      ))); 

      $this->validatorSchema['password2'] = new sfValidatorPass();

      $this->widgetSchema->moveField('password2', 'after', 'password');
      
      $this->setDefault('is_active', false);
      $this->setDefault('is_super_admin', false);
      $this->widgetSchema['password']->setLabel('Clave');
      $this->widgetSchema['password2']->setLabel('Repetir Clave');
      
      $this->widgetSchema['fecha_nacimiento'] = new sfWidgetFormInput(array(), array('size' => 15, 'id' => 'fechaNacimiento', 'readonly'=>'readonly'));
      $this->widgetSchema['licencia_conducir_fecha'] = new sfWidgetFormInput(array(), array('size' => 15, 'id' => 'fechaLicencia', 'readonly'=>'readonly'));
      
      //Cambiar a lista y su validador de los required No o Si 0/1
      $this->widgetSchema['sexo'] = new sfWidgetFormChoice(array(
         'choices' => sfGuardUser::$sexo,
         'expanded' => false,
         'multiple' => false,

      ));
      $this->widgetSchema['edo_civil'] = new sfWidgetFormChoice(array(
         'choices' => sfGuardUser::$edo_civil,
         'expanded' => false,
         'multiple' => false,

      ));
      
      $this->widgetSchema['telefono_principal'] = new sfWidgetFormInputText(array(),array('placeholder'=>'5555555555'));
      $this->widgetSchema['telefono_adicional'] = new sfWidgetFormInputText(array(),array('placeholder'=>'5555555555'));
      $this->widgetSchema['telefono_emergencia'] = new sfWidgetFormInputText(array(),array('placeholder'=>'5555555555'));
      $this->widgetSchema['telefono_familiar'] = new sfWidgetFormInputText(array(),array('placeholder'=>'5555555555'));
      
      $this->widgetSchema['direcion'] = new sfWidgetFormTextarea(array(),array('placeholder'=>'rellenar direccion','style'=>'width: 98%'));

      

//manejar carga de archivos den symfony

      
      
      //Seteo del campo imagen para poder subir las fotos
      $this->widgetSchema['foto_archivo'] = new sfWidgetFormInputFile();

      //Validacion del campo imagen para poder subir las fotos
      $this->validatorSchema['foto_archivo'] = new sfValidatorFile(array(
        'required' => false,
        'path' => sfConfig::get('sf_upload_dir').'/sfguarduser',
        'mime_types' => 'web_images',
        //Agregar esta linea para transformar la imagen
        'validated_file_class' => 'sfResizedFileProducto'
      ));
      
      
      
       //Seteo del campo imagen para poder subir las fotos
      $this->widgetSchema['identificacion_archivo'] = new sfWidgetFormInputFile();

      //Validacion del campo imagen para poder subir las fotos
      $this->validatorSchema['identificacion_archivo'] = new sfValidatorFile(array(
        'required' => false,
        'path' => sfConfig::get('sf_upload_dir').'/sfguarduser',
        'mime_types' => 'web_images',
        //Agregar esta linea para transformar la imagen
        'validated_file_class' => 'sfResizedFileProducto'
      ));
      
       //Seteo del campo imagen para poder subir las fotos
      $this->widgetSchema['domicilio_archivo'] = new sfWidgetFormInputFile();

      //Validacion del campo imagen para poder subir las fotos
      $this->validatorSchema['domicilio_archivo'] = new sfValidatorFile(array(
        'required' => false,
        'path' => sfConfig::get('sf_upload_dir').'/sfguarduser',
        'mime_types' => 'web_images',
        //Agregar esta linea para transformar la imagen
        'validated_file_class' => 'sfResizedFileProducto'
      ));
      

  }
  
  

  protected function removeField() {
      unset(
        $this['created_at'],
        $this['updated_at'],
        $this['algorithm'],
        $this['last_login'],
        $this['salt']
      );
      
      
      $this->widgetSchema['empresa_id'] = new sfWidgetFormInputHidden(array(),array('value'=> sfContext::getInstance()->getUser()->getAttribute('agente_user_empresa_id')));
      $this->widgetSchema['entidad_id']= new sfWidgetFormInputHidden(array(),array('value'=> sfContext::getInstance()->getUser()->getAttribute('agente_user_entidad_id')));
      
      
      $this->widgetSchema['password']->setLabel('Clave');
      $this->widgetSchema['is_active']->setLabel('Esta Activo?');
      $this->widgetSchema['is_super_admin']->setLabel('Super Administrador');

      $this->widgetSchema['groups_list']->setOption('renderer_class', 'sfWidgetFormSelectDoubleList');
      $this->widgetSchema['groups_list']->setLabel('Listado de Grupos');

      $this->widgetSchema['permissions_list']->setOption('renderer_class', 'sfWidgetFormSelectDoubleList');
      $this->widgetSchema['permissions_list']->setLabel('Listado de Perfiles');
  }


}
